An Approach to Integrated Scheduling of Flexible Job-Shop Considering Conflict-Free Routing Problems

This study proposes an approach to minimize the maximum makespan of the integrated scheduling problem in flexible job-shop environments, taking into account conflict-free routing problems. A hybrid genetic algorithm is developed for production scheduling, and the optimal ranges of crossover and mutation probabilities are also discussed. The study applies the proposed algorithm to 82 test problems and demonstrates its superior performance over the Sliding Time Window (STW) heuristic proposed by Bilge and the Genetic Algorithm proposed by Ulusoy (UGA). For conflict-free routing problems of Automated Guided Vehicles (AGVs), the genetic algorithm based on AGV coding is used to study the AGV scheduling problem, and specific solutions are proposed to solve different conflicts. In addition, sensors on the AGVs provide real-time data to ensure that the AGVs can navigate through the environment safely and efficiently without causing any conflicts or collisions with other AGVs or objects in the environment. The Dijkstra algorithm based on a time window is used to calculate the shortest paths for all AGVs. Empirical evidence on the feasibility of the proposed approach is presented in a study of a real flexible job-shop. This approach can provide a highly efficient and accurate scheduling method for manufacturing enterprises.


Introduction
Job-shop Scheduling Problems (JSPs) are known as typical NP-complete problems [1]. Flexible Job-shop Scheduling Problems (FJSPs) are an extension of JSP. Unlike the classical JSP, the FJSP does not predefine the machine for each operation. Instead, FJSP provides the opportunity to select from multiple machines for each operation, making it more closely aligned with real-world situations [2]. The integrated scheduling problem in a flexible job shop mainly involves scheduling production machines and AGVs. It requires a scientific and reasonable scheduling arrangement for production tasks to achieve the optimal allocation of equipment and resources in the system and ultimately achieve the purpose of improving production efficiency [3].
The literature review in this paper is carried out in two aspects: the scheduling problem of flexible job-shops and the routing problem of multiple AGVs.
Ulusoy et al. [4] were the first to propose an algorithm for integrated scheduling by using AGVs and production equipment simultaneously as the object of study for the scheduling problem under the assumption that there is no path conflict. They used a genetic algorithm to solve the problem of scheduling production equipment and AGVs simultaneously and established classical cases. Subbaiah [5] used a flock genetic algorithm to solve the scheduling problem with a fixed number of AGVs. He used maximum completion time and minimum average delay as the objective function and determined the optimal solution with a smaller number of iterations. Badakhshian [6] used a fuzzy logic controller to control the operators of the genetic algorithm to filter better combinations of initial parameters. Reddy et al. [7] dealt with machine, AGV, and tool simultaneous scheduling in a multi-machine flexible manufacturing system considering jobs' transport times among machines to minimize makespan. Erol [8] proposed a multi-agent system for simultaneous dynamic scheduling of AGVs and production equipment and compared it with five different algorithms. Zhang et al. [9] proposed an effective genetic algorithm to minimize makespan and designed Global Selection (GS) and Local Selection (LS) to generate a high-quality initial population in the initialization stage. Yan et al. [10] addressed the constraint influence imposed by finite transportation conditions in the FJSP and analyzed the coupling relationship between transportation and processing stages. Palacios [11] proposed an effective genetic algorithm hybridized with tabu search and heuristic seeding to minimize the makespan. However, the above research studies have primarily centered on production and AGV scheduling but have neglected vehicle collisions and routing problems.
Conflict-free Routing Problem (CFRP) is a policy that plans a path for an AGV to avoid path conflicts caused by paths occupied by other AGVs during its run time. These multiple AGV systems need to consider conflict avoidance and efficiency between multiple AGVs. Path planning for multiple AGVs has long been proven to be an "NP-complete" problem.
Path planning is generally divided into two stages: (1) representing the environment discretely; (2) searching for the optimal path using the graph search algorithm. In terms of discrete representation of the environment, there are two main methods: the raster method and the road map method. In most industrial scenarios, there are pre-planned routes, and road maps exist naturally. Path search is based on the road map. There are many classical algorithms for graph-based searches, such as the Dijkstra algorithm, A* algorithm, and Floyd algorithm [12]. In actual engineering, the layout of the workshop is mostly single-lane. If path planning of AGVs only considers the shortest path, AGVs are bound to encounter path conflicts during transportation. Mac T T et al. [13] used the Dijkstra algorithm to obtain an optimal conflict-free path a the triangular decomposition graph and used a genetic algorithm to smooth the path obtained from the planning. Zhang et al. [14] proposed a Dijkstra-based path planning algorithm to generate optimal collisionfree paths for substation inspection multi-robots. Sun et al. [15] proposed an improved A* algorithm to solve the multi-robot collaborative path planning for the large area coverage problem. They optimized the previously calculated paths by the A* algorithm to minimize the distance traveled by the vehicle and provided the optimal solution based on the path planning problem in the multi-robot system. A deadlock is a state of a system where two or more processes are unable to proceed further because each process is waiting for the other to release the resources they need. This results in a standstill where both processes are stuck and cannot proceed unless one of the processes releases its resources. Möhring et al. [16] used a time window function to solve the common deadlock problem during conflict-free path planning. Desauliners et al. [17] proposed an exact solution to the real-time scheduling and conflict-free routing problem of AGVs, with the goal of reducing the production costs associated with production delays. Lin et al. [18] proposed a path-planning method using A* algorithm with RFID technology. This method mainly calculates the shortest path based on the coordinate information provided by the RFID tag and selects the path with the smallest angle in the current driving direction, and finally attains the result of fewer turns and the shortest path. Xing et al. [19] proposed a novel tabu search algorithm that aims to enhance the operational efficiency of AGVs in an automated warehouse. Murakami [20] addressed an AGV routing problem by formulating the dispatch and conflict-free routing problem of a capacitated AGV system as a mixed-integer linear programming problem. Yuan et al. [21] proposed a bi-level path planning algorithm to optimize the routing of multi-AGVs. Previous studies primarily focused on the vehicle routing problem and collision-free routing problem while neglecting problems of production scheduling or assuming optimality in the scheduling problem. However, optimal path planning may not necessarily align with optimal scheduling and may not result in the ideal makespan.
Most of the research in this area concentrates on production scheduling problems, AGV scheduling problems, or a combination of both. Little research has also been conducted considering the path conflicts of AGVs. Saidi-Mehrabad et al. [22] proposed an ant colony algorithm to address a JSP by considering the CFRP and the transportation time. Fu et al. [23] studied a production scheduling and vehicle routing problem with job splitting and delivery time windows in a company working in the metal packaging industry. However, their research did not specifically focus on the FJSP problem. Hence, this paper takes into account the integrated scheduling of the flexible job-shop, which involves scheduling machines and AGVs simultaneously while also considering path conflicts and transportation time.

Integrated Scheduling Problem of Flexible Job-Shop
Flexible job-shop mainly completes the manufacturing process of workpieces. As the main equipment for material transportation, AGVs complete the transportation of materials between various stations. Materials are loaded or unloaded at different stations. Therefore, AGV trips can be classified as either deadheading or loaded trips. During deadheading trips, the AGV moves empty from its current station to a different station where it loads material. In contrast, during loaded trips, the AGV moves material between stations.
Due to the conflict routing problem, the scheduling of AGVs cannot take the shortest path but the shortest transportation time as the optimization goal. In a flexible job-shop, manufacturing machines and transportation equipment can only effectively improve the overall production efficiency by cooperating with each other. Since the conflict-free routing problem causes uncertainty in the transportation time of multiple AGVs, it is important for the optimal allocation of production resources to realize the integrated scheduling of machines and AGVs.
In the flexible job-shop, it is assumed that there are m sets of machines and w sets of AGVs, which have the same transport capacity, assigned the task of processing n workpieces. Each workpiece comprises multiple processing operations. Machines in the job-shop have a high degree of automation, and each machine can complete multiple different operations on different workpieces. Therefore, each operation can be completed by different machines. However, the time required to complete the same operation varies for different machines.
Our laboratory functions as a workshop for the production of personalized custom cars, with five unique models available. With each model having a unique set of operations, the predetermined durations for each operation are known. It is in line with the flexible job-shop problem. Figure 1 shows the layout of our laboratory. There are three AGVs. Node 1 is the L/U station. AGVs depart from the L/U station with the materials and carry the finished workpiece back to the L/U station. Four machines are distributed in Nodes 8,9,17, and 18, respectively. Table 1 shows the processing machines for each operation and the time required. Table 2 shows the transportation time.   Table 1 shows the processing machines for each operation and the time required. Table 2 shows the transportation time.

CFRP
In the study of path planning, due to the constant travel speed of AGVs, the path with the shortest distance in a single AGV manufacturing system is generally the path with the shortest time. However, in a multi-AGV system, multiple AGVs are responsible for different process transportation tasks at the same time, so the path with the shortest distance may be occupied by other AGVs and require a certain waiting time. So, the path with the shortest distance is not necessarily the path with the shortest time. The objective

CFRP
In the study of path planning, due to the constant travel speed of AGVs, the path with the shortest distance in a single AGV manufacturing system is generally the path with the shortest time. However, in a multi-AGV system, multiple AGVs are responsible for different process transportation tasks at the same time, so the path with the shortest distance may be occupied by other AGVs and require a certain waiting time. So, the path with the shortest distance is not necessarily the path with the shortest time. The objective function of the multi-AGV manufacturing system comprises the shortest time path planning to optimize transportation equipment allocation and AGV utilization.
(1) Conflict classification During the operation of multiple AGVs, there are mainly three types of conflict: node conflict, catch-up conflict, and opposite conflict. Since it is assumed in this paper that AGVs travel at a constant speed during transportation, the catch-up conflicts caused by different speeds will not be discussed in this paper.

Opposite conflict
When two AGVs travel towards each other on the same path, only one AGV is allowed to pass on each path at the same time. In this case, two AGVs collide, resulting in a deadlock,  Figure 2a. Similarly, if an AGV moves from one path into the path of another, they will collide when moving in opposite directions, as illustrated in Figure 2b,c.
conflict, catch-up conflict, and opposite conflict. Since it is assumed in this paper that AGVs travel at a constant speed during transportation, the catch-up conflicts caused by different speeds will not be discussed in this paper.

Opposite conflict
When two AGVs travel towards each other on the same path, only one AGV is allowed to pass on each path at the same time. In this case, two AGVs collide, resulting in a deadlock, as shown in Figure 2a. Similarly, if an AGV moves from one path into the path of another, they will collide when moving in opposite directions, as illustrated in Figure  2b,c.

Node conflict
When AGV1 and AGV2 arrive at the same node at the same time, a node conflict will occur at this station, resulting in collision and deadlock.

. Shortest path
Under the condition that the speed is fixed, the shorter the path, the shorter the time to execute the transportation task, which can maximize the proportion of the transportation time in the total completion time and ensure that the AGV after the completion of the transportation task can be put into the next scheduling task as soon as possible, saving the transportation resources and the cost generated by the AGV's own driving.

Minimum waiting time
Time is wasted when AGVs collide or choose a suboptimal path.

Integrated Scheduling Problem of Flexible Job-Shop
Based on the above description, the problem under study needs to meet the following assumptions: (1) Each machine is capable of processing only one job at a time; (2) Each operation can only be processed on one machine, not split onto two machines; (3) The AGVs travel at a constant speed in the system, including the time it takes to turn and crossroads; (4) An AGV is assigned the task of transporting a single job at a time; (5) It does not consider the charging problem and fault problem of the AGVs, and AGVs are always available; (6) There is no sequence constraint on the operations between different workpieces; (7) AGV transportation and machine processing cannot be interrupted;

Node conflict
When AGV1 and AGV2 arrive at the same node at the same time, a node conflict will occur at this station, resulting in collision and deadlock.

Shortest path
Under the condition that the speed is fixed, the shorter the path, the shorter the time to execute the transportation task, which can maximize the proportion of the transportation time in the total completion time and ensure that the AGV after the completion of the transportation task can be put into the next scheduling task as soon as possible, saving the transportation resources and the cost generated by the AGV's own driving.

Minimum waiting time
Time is wasted when AGVs collide or choose a suboptimal path.

Integrated Scheduling Problem of Flexible Job-Shop
Based on the above description, the problem under study needs to meet the following assumptions: (1) Each machine is capable of processing only one job at a time; (2) Each operation can only be processed on one machine, not split onto two machines; (3) The AGVs travel at a constant speed in the system, including the time it takes to turn and crossroads; (4) An AGV is assigned the task of transporting a single job at a time; (5) It does not consider the charging problem and fault problem of the AGVs, and AGVs are always available; (6) There is no sequence constraint on the operations between different workpieces; (7) AGV transportation and machine processing cannot be interrupted; The meanings of symbols and variables in the established mathematical model are shown in Table 3 [24].  LT ijv the starting node of AGV v in task T ijv S T ijv the start time of no-load transport in task T ijv C T ijv the finish time of no-load transport in task T ijv ST ijv the start time of load transport in task T ijv CT ijv the finish time of load transport in task T ijv N s set of nodes In order to ensure that the algorithm meets the corresponding scheduling rules, a set of mathematical models is established as the constraint conditions of the algorithm.
∀i ∈ {1, 2, . . . , n}, ∀j ∈ {1, 2, . . . , u i }, ∀k, k ∈ {1, 2, . . . , m}, ∀v ∈ {1, 2, . . . , w} Formula (1) shows that minimizing the maximum makespan is the primary objective. Constraint 2 states that the optimal number of AGVs is equal to the minimum number of AGVs in the job-shop when the maximum completion time is minimum. Constraint 3 indicates that each process can only be processed on one device. Constraint 4 prevents overlapping of the workpiece processing by mandating the start time of a workpiece to come after its completion time. Constraint 5 indicates that each process must be handled by a single AGV for transportation. Constraint 6 ensures that AGVs only move to the next transportation task after completing the previous one to ensure continuity of work and avoid simultaneous tasks. It also ensures that AGVs will not execute two or more transportation tasks at the same time. Constraint 7 indicates that the processing interruptions caused by AGV failure or equipment failure are not considered in the processing process. Constraint 8 indicates that the next no-load transportation task can only commence after the current AGV task is finished. Constraint 9 indicates that the load travel time of the current AGV transportation task should be greater than or equal to the sum of its no-load time and the transportation time required between the two processing machines. This is because the completion time of the last process may be after the time when the AGV arrives at the machine, and the AGV needs to wait for the completion of the last operation before it can execute the transportation task. Constraint 10 indicates that each node can only be occupied by one AGV at a time. Constraint 11 mandates that the AGV cannot start the transportation task until it has completed the preceding operation and arrived at the destination. Constraint 12 indicates that machining can only begin after the end of the load stroke. Constraint 13 restricts the process sequence of the same workpiece and ensures the continuity of the transportation process. If the no-load AGV reaches the position of the processing equipment after the workpiece is processed, the no-load end time is equal to the start time of the load transport. If the no-load AGV arrives before the workpiece is finished, the load transport start time is equal to the workpiece process completion time.
In the production process, the perfect transportation process is similar to this: at the end of the AGV no-load stroke, the last process is just finished; When the AGV load ends, the processing machine just completes the processing task of the current workpiece. If an AGV with no load travel arrives before the completion of the previous process, C i(j−1)k > C T ijv ; On the same processing equipment, the completion time of the current workpiece process is greater than the end time of the loading stroke of the next workpiece AGV, C pqk · β pqijk > CT ijv . Both cases will form invalid waiting times, reduce the utilization rate of AGVs and ultimately affect the final completion time of the whole production.

CFRP
In flexible systems, AGVs need to drive continuously in the workshop to transport the workpieces and materials to their destination and need to address and change the path constantly. Therefore, it is necessary to solve various conflicts that may be encountered in path planning at the algorithm level [25]. Traditional path-planning strategies are usually divided into two types. One path strategy prioritizes the optimal path and chooses to wait in place or in other idle paths according to the conflict type to ensure the shortest AGV distance. Another routing strategy does not consider path conflicts but only ensures the principle of avoiding conflicts during AGV movement. Once a path or node is occupied, the second-best feasible path is selected. Neither of these two strategies can guarantee the shortest transportation time for AGVs. On the basis of these two strategies, a new recursive discriminant strategy is proposed in this paper, which not only solves the path conflict problem but also plans an accurate conflict-free path for AGVs to ensure the shortest transportation time of AGVs.
In the multi-AGV manufacturing system, the current problem to be solved is how to make the car find a sub-optimal path to reach the destination with the shortest time and minimum cost loss while avoiding a collision. We provided each car with a different task, entered the shop in turn, completed the task, and arrived at the destination. The map adopts a single-row bidirectional job-shop layout, so before establishing a mathematical model for the planning problem, basic assumptions should be made about the system where the AGV resides [26]: (1) One AGV can only perform one task at a time.
(2) All AGVs move at a constant velocity and possess identical features.
(3) Breakdowns and charging problems are not taken into account. (4) Once AGV is working, it is not allowed to be interrupted. AGVs travel at a constant speed, and the mathematical model takes the shortest total travel time of all AGVs as the objective function, as shown in Formula (14).
Firstly, mathematical modeling is carried out for possible path conflicts in path planning. Node conflict is caused by more than one car arriving at a node at the same time. Formula (15) indicates that only one car can occupy a node at the same time, as shown in Figure 3.
AGVs travel at a constant speed, and the mathematical model takes the shortest total travel time of all AGVs as the objective function, as shown in Formula (14). (14) Firstly, mathematical modeling is carried out for possible path conflicts in path planning. Node conflict is caused by more than one car arriving at a node at the same time. Formula (15) indicates that only one car can occupy a node at the same time, as shown in Figure 3. 1, ∀ ∈ 1,2, … , If two AGVs do not arrive at a node at the same time, but the AGV closest to the node needs to drive to another occupied path through this node, and the AGV near the node is on the opposite path, the AGV near the node has two choices: (1) Wait for another car to release the path; (2) Replace another suboptimal path. For the first case, suppose there are two AGVs; AGV2 is closer to the node , AGV1 turns to the adjacent path of AGV2, as shown in Figure 2b, then the mathematical model of such conflicts is as follows: For the conflict type in Figure 2b, if AGV1 is closer to the node and turns to the adjacent path of AGV2; AGV1 has two choices: wait or change paths. Assuming that the time used by the original optimal path to reach the end node is , the total waiting time of the car at the intersection is Δ , and the time required by the replacement of the suboptimal path is '. However, since the suboptimal path also needs to consider the path conflict problem, this path optimization strategy is easy to fall into the local optimal. In order to reduce the solution space, the suboptimal solution that does not consider path conflicts is first determined, and the suboptimal solution Δ min , , … that is less than the total transportation time of the optimal path selected. Then, considering the path If two AGVs do not arrive at a node at the same time, but the AGV closest to the node needs to drive to another occupied path through this node, and the AGV near the node is on the opposite path, the AGV near the node has two choices: (1) Wait for another car to release the path; (2) Replace another suboptimal path. For the first case, suppose there are two AGVs; AGV2 is closer to the node s 2 , AGV1 turns to the adjacent path of AGV2, as shown in Figure 2b, then the mathematical model of such conflicts is as follows: For the conflict type in Figure 2b, if AGV1 is closer to the node s 2 and turns to the adjacent path of AGV2; AGV1 has two choices: wait or change paths. Assuming that the time used by the original optimal path to reach the end node is t, the total waiting time of the car at the intersection is ∆t, and the time required by the replacement of the suboptimal path is t . However, since the suboptimal path also needs to consider the path conflict problem, this path optimization strategy is easy to fall into the local optimal. In order to reduce the solution space, the suboptimal solution that does not consider path conflicts is first determined, and the suboptimal solution t + ∆t ≥ min[t , t , t . . . t n ] that is less than the total transportation time of the optimal path selected. Then, considering the path conflict of the second-best path, the car usually has multiple second-best paths from one device to another device. A recursive strategy is used to plan a global shortest-time path judgment method for AGV, as shown in Formula (17).
Assuming that the shortest path of AGV from node p to node p needs to pass through n nodes, which will be encountered in the driving process, then the AGV will encounter at most n + 1 path conflicts of the same type when it reaches node p , and it needs to determine whether to choose the second-best path each time. Therefore ∑ ∆t = ∆∆ 1 + ∆t 2 + ∆t 3 . . . + ∆ n+1 , the waiting time for the conflict of the second-best path is the same. According to the comparison of the transportation time and waiting time of the sub-optimal path, the optimal path scheme is selected. If Formula (17) holds, the optimal path is selected; otherwise, the suboptimal path is selected.
For the type of locking in Figure 2c, the general adjustment strategy is to let the car that first arrives at the conflict node change the path and, at the same time, ensure that there is a second optimal path available for replacement. Assuming that the AGV1 is closer to the conflict node s 2 , the adjustment strategy is shown in Formula (18).
indicates that the paths from s 1 to s 2 and from s 3 to s 2 are occupied by AGV1 and AGV2 respectively. A s 2 s 1 (t+t s 1 s 2 ) = 1 indicates that after time t s 1 s 2 , AGV1 first reaches the conflict node s 2 , but AGV2 still occupies the path from s 3 to s 2 . A s 2 s 4 (t+t s 1 s 2 ) + A s 2 s 5 (t+t s 1 s 2 ) ≥ 1 means that at least one of the other two paths from s 2 is a viable path.
If the conflict node s 2 in Figure 2b has only three adjacent nodes, which means deadlock occurs at the T-junction, then the adjustment strategy is shown as follows.
Formulas (18) and (19) are designed to ensure that there is room for adjustment of such conflicts. If the two formulas are valid, the earliest AGV arriving at the node can choose to wait on the free path until the original path is released or choose the second-best path. For specific adjustment schemes, refer to Formula (17). In cases when Formulas (18) and (19) are not valid, Figure 2b is categorized under the same type of unadjustable deadlock as Figure 2a.
The situation description and adjustment scheme in Figure 2a: If a path is occupied by an AGV, then this path does not allow AGVs in the opposite direction to enter at the same time. Since the AGVs in the system travel at the same speed, two AGVs traveling in the same direction are allowed on the same path. Formula (20) ensures that multiple AGVs can travel in the same direction on the same path and that two or more AGVs are not allowed to travel in the same direction on the same path.

Approach Statement
Integrated scheduling of flexible job-shop is solved in two stages: production scheduling and AGV scheduling. In the first stage, a hybrid genetic algorithm is used to solve the production scheduling problem. In the second stage, according to the production scheduling scheme obtained in the first stage, an AGV coding-based genetic algorithm is used to study the AGV scheduling problem. At the same time, AGV routing problems and path conflicts are taken into account, and finally, a better feasible scheduling scheme is obtained.

Encoding Method
Genetic algorithms are largely determined by the choice of an appropriate encoding scheme. It is desirable to keep the chromosome length as short as possible to reduce unnecessary computational burden and focus on promising solution alternatives. For the exploration of all potential solutions within the search space, the encoding method should be capable of accurately representing them. In the case of scheduling operations, there are parallels between the job-shop scheduling problem and the first part of the studied problem in theory. Thus, an operation-based encoding method is used in the approach. uling and AGV scheduling. In the first stage, a hybrid genetic algorithm is used to solve the production scheduling problem. In the second stage, according to the production scheduling scheme obtained in the first stage, an AGV coding-based genetic algorithm is used to study the AGV scheduling problem. At the same time, AGV routing problems and path conflicts are taken into account, and finally, a better feasible scheduling scheme is obtained.

Encoding Method
Genetic algorithms are largely determined by the choice of an appropriate encoding scheme. It is desirable to keep the chromosome length as short as possible to reduce unnecessary computational burden and focus on promising solution alternatives. For the exploration of all potential solutions within the search space, the encoding method should be capable of accurately representing them. In the case of scheduling operations, there are parallels between the job-shop scheduling problem and the first part of the studied problem in theory. Thus, an operation-based encoding method is used in the approach. Figure 4 depicts the encoding method. The sum of all operations represents the length of the chromosome. Assume that the operations chromosome is [2 3 1 1 2 2 3 2]; the first 2 represents the first operation of workpiece , and the second 2 represents the second process of workpiece J2. The rest can be performed using the same method. So, the sequence of the operations is , , ,

Decoding Method
The proposed approach utilizes the Vehicle Assignment Algorithm (VAA) to address the vehicle assignment and scheduling issues integrated into the decoding method. The pseudocode for the decoding method is shown in Algorithm 1.

Decoding Method
The proposed approach utilizes the Vehicle Assignment Algorithm (VAA) to address the vehicle assignment and scheduling issues integrated into the decoding method. The pseudocode for the decoding method is shown in Algorithm 1.  The VAA, an optimization algorithm, is designed to determine the AGV that provides the earliest possible start time for a given operation processed by its allocated machine. The VAA uses the maximum value between the AGV's last trip finish time and the preceding operation completion time in evaluating the start time for a deadheading trip, considering the required deadheading trip time. The calculation of start time depends on adding the available start times for deadheading trips, which are exclusively related to the deadheading trip durations of AGVs due to their identical loaded trip times.
The decoding method employed in this algorithm is based on a critical observation that a machine schedule generated using the operations-based coding approach tends to stretch when vehicle transportation times are factored. This is due to a shift in each operation's start time. During operation, the VAA aims to minimize these changes in start times to reduce the makespan. In doing so, the algorithm searches for AGVs that have minimum completion times for each trip, thus minimizing the shift in start time for each operation.

Crossover Operator
Uniform crossover is a crossover method utilized in generating a new chromosome from two matching chromosomes. In this method, each gene in the chromosome is exchanged with a predetermined probability. Uniform crossover can be seen as a variation of the multi-point crossover method, with specific rules in place to ensure the preservation of the parent genes and maintain the coding structure.
To generate a new chromosome via a uniform crossover, a crossover mask is randomly generated with the same length as the parent chromosomes. The mask is then applied to the two matched chromosomes. Genes corresponding to "1" in the mask are swapped between chromosomes, while genes that correspond to "0" remain unchanged. By randomly crossing every bit of the parent chromosomes with the same probability, two child chromosomes are eventually created. Figure 5 provides a visual representation of the uniform crossover mechanism.
domly generated with the same length as the parent chromosomes. The mask is then applied to the two matched chromosomes. Genes corresponding to "1" in the mask are swapped between chromosomes, while genes that correspond to "0" remain unchanged. By randomly crossing every bit of the parent chromosomes with the same probability, two child chromosomes are eventually created. Figure 5 provides a visual representation of the uniform crossover mechanism.

Mutation Operator
Mutation operators refer to the genetic algorithm components that are responsible for introducing genetic diversity into the population of potential solutions. These operators randomly modify one or more genes or components of a candidate solution, essentially creating a new candidate solution that is slightly different from its parent. This diversity helps the algorithm to move beyond local optima and discover better solutions in unexplored areas of the search space. In swap mutation, two genes are randomly selected from the parent chromosome, and then their position is swapped, as illustrated in Figure 6.

Mutation Operator
Mutation operators refer to the genetic algorithm components that are responsible for introducing genetic diversity into the population of potential solutions. These operators randomly modify one or more genes or components of a candidate solution, essentially creating a new candidate solution that is slightly different from its parent. This diversity helps the algorithm to move beyond local optima and discover better solutions in unexplored areas of the search space. In swap mutation, two genes are randomly selected from the parent chromosome, and then their position is swapped, as illustrated in Figure 6.
of the parent genes and maintain the coding structure.
To generate a new chromosome via a uniform crossover, a crossover mask is randomly generated with the same length as the parent chromosomes. The mask is then applied to the two matched chromosomes. Genes corresponding to "1" in the mask are swapped between chromosomes, while genes that correspond to "0" remain unchanged. By randomly crossing every bit of the parent chromosomes with the same probability, two child chromosomes are eventually created. Figure 5 provides a visual representation of the uniform crossover mechanism.

Mutation Operator
Mutation operators refer to the genetic algorithm components that are responsible for introducing genetic diversity into the population of potential solutions. These operators randomly modify one or more genes or components of a candidate solution, essentially creating a new candidate solution that is slightly different from its parent. This diversity helps the algorithm to move beyond local optima and discover better solutions in unexplored areas of the search space. In swap mutation, two genes are randomly selected from the parent chromosome, and then their position is swapped, as illustrated in Figure 6.

The Schedule Recovery Algorithm
The schedule recovery algorithm is a crucial step after applying the genetic operators of crossover and mutation in order to ensure that technological restrictions are met during the GA search. This algorithm is accomplished by rearranging the operations while ensuring that each operation in the sequence is executed within the specified technological constraints. Ultimately, the algorithm aims to produce a feasible and optimized schedule that meets all the necessary constraints.
As shown in Figure 7, the operation o 22 is behind operation o 23 and operation o 11 is behind operation o 12 after swap mutation. In this case, the schedule recovery algorithm is needed. The pseudocode for the schedule recovery algorithm is demonstrated in Algorithm 3.

Elite Preservation
The paper employs an elite preservation strategy to minimize the loss of the best-fit individuals during the GA run. This strategy entails preserving a group of the best-fit individuals across the generations and updating them with better individuals when they emerge. The size of the set remains constant throughout the run since it is specified by the user during the algorithm's configuration.
suring that each operation in the sequence is executed within the specified technological constraints. Ultimately, the algorithm aims to produce a feasible and optimized schedule that meets all the necessary constraints.
As shown in Figure 7, the operation is behind operation and operation is behind operation after swap mutation. In this case, the schedule recovery algorithm is needed. The pseudocode for the schedule recovery algorithm is demonstrated in Algorithm 3.

Elite Preservation
The paper employs an elite preservation strategy to minimize the loss of the best-fit individuals during the GA run. This strategy entails preserving a group of the best-fit individuals across the generations and updating them with better individuals when they emerge. The size of the set remains constant throughout the run since it is specified by the user during the algorithm's configuration. if prei = NULL then 5.
for each operation op in the chromosome do 6. opj ← operation located at position j 7.
Swap positions of opi and opj 9.
end if 10. end for 11. end if 12. end for

AGV Scheduling
Product scheduling result is a known condition that has been solved in the first stage. Therefore, in the second stage, the scheduling scheme of the processing machine, the processing time of the machine, and the process sequence on each processing machine are taken as the input conditions. Then the problems to be solved in the second stage become the AGV routing problem and the scheduling problem of AGVs. In the second stage, the scheduling scheme of the processing machine is decomposed into corresponding transportation tasks, and the scheduling problem of AGVs becomes the process of assigning different transportation tasks to AGVs while considering the problem of path conflict. AGVs are equipped with sensors for the purpose of providing real-time location data. Formulating conflict-free paths ensures that AGVs will not collide accidentally.

Dijkstra
The Dijkstra algorithm is a classical path planning algorithm based on graph theory G = (V, E) to solve the shortest distance between two nodes. Where V represents the set of all nodes in the topological map, and E represents the set of all lines in the topological map. According to the layout of the job-shop, the important equipment position is set as the node, the path that can be directly connected between the node and the node is represented by the line, and the corresponding edge is assigned the corresponding weight according to the distance of the connecting path or through the time. In this study, unit time is used to represent the weight between the two nodes so that the complex shop environment can be abstracted into the topological map represented by the node and the line. Topological maps are expressed in the form of an Adjacency Matrix (AM) in the algorithm. The core of the Dijkstra algorithm is to take the start node as the center and find the optimal path with the smallest sum of ownership values to the end node according to the weights of the adjacency matrix and lines between nodes. The procedures are as follows: Step 1: Set initial conditions: start node S 0 and end node U 0 . Calculate the shortest distance from the start node to the end node.
Step 2: Set and initialize the node set S (the set of nodes with the lowest weight that has been calculated so far) and U (the weight of S 0 to the remaining nodes). Where S contains S 0 , and the distance from S 0 to S 0 is known to be 0; U contains other nodes except S 0 . The distance between nodes is initialized. If two nodes are adjacent, the weight is the weight of the line between two nodes; if not, the weight is infinite.
Step 3: Go through all nodes in the set U, determine the adjacency S k closest to S 0 , delete S k from the set U and add S k to the set S, and determine whether S k is U 0 . If yes, the algorithm terminates and S k is the shortest path in the map; otherwise, update the weight G 0→k of S 0 to S k and jump to the next step.
Step 4: Calculate S k as the start node to traverse all nodes in set U and take the node S k+1 with the shortest distance from S k , delete S k+1 from set U and add it to set S, and update the weight of S 0 in set U to the other nodes. If G 0→k+1 < G 0→k + G k→k+1 , update the weight of G 0→k+1 in set S; Otherwise, proceed to the next step.
Step 5: Determine whether S k+1 is U 0 . If it is, terminate the algorithm to obtain the shortest path information and minimum weight. Otherwise, loop steps 4 and 5 until you find the end node U 0 .

Time Window
The basic idea of a time window is to mark the direction of the occupied path. Other AGVs cannot pass through this path in the opposite or the same direction. AGVs can only wait or change other paths until the occupied path ends and other AGVs can pass through. In the time window method, path L is often divided into two parts: idle time window set F L and reserved time window set R L . The commonly used mathematical model of the time window is as follows: In Formula (21), f k represents the idle time period of path L, and k represents the k th idle time period, starting from a k and ending from b k . Similarly, r k in Formula (22) represents the occupied period of path L, starting from c k and ending with d k .

Algorithm Design
Since the scheduling problem of the processing machine has been solved, based on the mathematical model of the integrated scheduling problem, the mathematical scheduling model of the second stage only needs to consider the processing sequence constraint of the same workpiece, the process sequence constraint of the workpiece on the same equipment and the AGV scheduling problem.
The solution of the AGV routing problem and path conflict problem refers to the solution strategy in Section 3.2. Taking the minimum completion time of the maximum transportation process as the objective function, the mathematical model of the second stage is as follows: i f α ijk = α pqk = 1, β ijpqk = 1, C ijk + ITW ≤ S pqk , ∀i, p ∈ {1, 2, . . . , n}, ∀j, q ∈ {1, 2, . . . , u i }, k ∈ {1, 2, . . . , m} Formula (23) takes the minimum completion time of the maximum transportation process as the objective function. Formula (24) guarantees that workpieces are processed in a specific sequence on each processing machine.
A genetic algorithm that employs AGV-encoding is utilized in the second stage to resolve AGV scheduling and conflict-free routing issues, with the incorporation of the time window-based Dijkstra algorithm.

1.
Encoding method In this section, AGV-based encoding is adopted. Since the working procedure of the workpiece on each machine is known, chromosomes are arranged according to the sequence of workpieces and their operations. The number on the chromosome represents the AGV number responsible for transporting that operation. For example, there are five genes in the coding position of Workpiece 1, which respectively imply five operations of Workpiece 1. The first operation of Workpiece 1 will be transported to machine M1 by AGV2, as shown in Figure 8.
A genetic algorithm that employs AGV-encoding is utilized in the second stage to resolve AGV scheduling and conflict-free routing issues, with the incorporation of the time window-based Dijkstra algorithm.

Encoding method
In this section, AGV-based encoding is adopted. Since the working procedure of the workpiece on each machine is known, chromosomes are arranged according to the sequence of workpieces and their operations. The number on the chromosome represents the AGV number responsible for transporting that operation. For example, there are five genes in the coding position of Workpiece 1, which respectively imply five operations of Workpiece 1. The first operation of Workpiece 1 will be transported to machine M1 by AGV2, as shown in Figure 8. When the objective function is to minimize the maximum completion time, the maximum number of AGVs usually has an upper limit. In order to rationally allocate logistics equipment resources, the upper limit of the number of AGVs in the chromosome is set, and the variation of the mutation operator 1, . . . is set. The number of AGVs is cross- When the objective function is to minimize the maximum completion time, the maximum number of AGVs usually has an upper limit. In order to rationally allocate logistics equipment resources, the upper limit of the number of AGVs in the chromosome is set, and the variation of the mutation operator [1, . . . w] is set. The number of AGVs is crossmutated. Calculate the fitness function of each iteration result, and the number of AGVs is finally obtained when the maximum completion time is minimum. Finally, output the optimal scheduling scheme.

2.
Decoding method AGVs are assigned to transport tasks according to the number of AGVs in chromosomes. The AGV makes route planning according to the assigned transportation tasks and finds the shortest conflict-free path so as to transport the last workpiece to the finished product warehouse as the maximum completion time. Specific decoding steps are shown as follows: Step 1: Transform the chromosome based on the process code of the gene chain into a specific process chain.
Step 2: Read every gene of the process chain according to the sequence of different workpiece areas. The gene number indicates that the corresponding process is responsible for O ij . Read the implied information of the gene, the corresponding processing machine k, the processing time of the corresponding machine is t ijk , and the processing sequence of the process on the machine k.
Step 3: Make sure α ijk = α pqk = 1, β ijpqk = 1. According to the completion time C i(j−1)k of the tight preceding procedure O i(j−1) of procedure O ij , the completion time C i j k of the tight preceding procedure in machine k, the number of the AGV in charge of the processing task and the location of the node where the AGV is located, determine the time S T ijv when the AGV can start no-load transportation.
Step 4: Route planning for no-load transportation. According to the available time S T ijv of the AGV in charge of the transportation task (or the end time CT i j v of load transportation of the last process that v is responsible for), the location node, the node position S of the machine in charge of the process O i(j−1) and the adjacency matrix A dj M, the next node N of the shortest path of no-load transportation, is determined by the Dijkstra algorithm. Go to Step 7.
Step 5: Route planning for load transportation. Compare the completion time of the tight preceding process C i(j−1)k , if C i(j−1)k > C T ijv , then ST ijv = C i(j−1)k (The transportation of a load begins only after completion of the preceding process directly connected to it). On the contrary, if the AGV arrives at k when the tight preceding process has been completed, the completion time of the tight preceding process is regarded as the start time of load transportation, that is, ST ijv = C T ijv .
Step 6: According to the adjacency matrix A dj M, the position node S of the tight preceding operation, the position node T of the processing machine responsible for the current operation, and the start time of the load transportation use the Dijkstra algorithm based on the time window to calculate the next node N of the load transportation path. Go to Step 7 and repeat Step 5 until N = T.
Step 7: Path conflict detection. Determine if the planned paths conflict with each other based on their respective time windows, and if there are no conflicts identified, proceed to Step 8. If there are conflicts, proceed to Step 9.
Step 8: Update the time window of each section on the topology map. In the no-load transport phase, check whether N = S. If yes, go back to Step 5. Otherwise, return to step 4 until N = S is true, and then return to step 5. If N = T during the load transport phase, generate the shortest path plan and revise the time window of each section accordingly. Go to Step 11. Otherwise, continue to search for the next node of the shortest path through the Dijkstra algorithm and return to Step 7.
Step 9: Detect the path conflict type.
Step 10: Determine if the transportation is over. If N = S, return to Step 5, output the shortest path, and update the time windows of each section; If N = T, compare the completion time of the previous process C i j k of k. If C i j k > CT ijv , the start time of O ij S ijk = C i j k ; if C i j k < CT ijv , the start time is equal to the end time of load transportation, that is S ijk = CT ijv . Then, output the shortest path and update the time windows of each section. Go to Step 11. Otherwise, select the suboptimal path and go to Step 7.
Step 11: Output the start time, end time, and available time based on the shortest path and time window of the process.
Step 12: Iterate Steps 3-11 until the selection of all workpieces and process transportation tasks has been accomplished, and output the path planning scheme, that is, the final scheduling scheme, according to the time set of each workpiece (such as the time and sequence of each working process).

Parameter Settings
The performance of the algorithm is heavily affected by the crossover probability P c and mutation probability P m , which are critical components of the algorithm. An increase in the crossover probability improves the ease of generating new individuals. However, setting the crossover probability too high might cause the individuals' structures to disintegrate. Meanwhile, decreasing the crossover probability might significantly reduce the algorithm's search efficiency. When the mutation probability value is too low, producing new individuals becomes challenging. Conversely, an extremely high mutation probability can convert the genetic algorithm into a random search algorithm, significantly reducing the algorithm's efficiency [27].
Experiments are conducted on a Windows 10 computer with an Intel Core i7-8750H CPU, clocked at 2.50 GHz, and 16.00 GB of RAM, using Python programming language version 3.9. The performance of the genetic algorithm is analyzed by manipulating the crossover and mutation probabilities, ranging from 0.4 to 1.0 and 0.0001 to 1.0, respectively [28]. Based on 20 independent genetic algorithm trials, the algorithm's effectiveness is assessed by averaging the makespan. The results of the study concluded that higher probabilities of crossover and mutation result in more optimal solutions. As shown in Figure 9, the optimal range of crossover probability is determined to be between 0.8 and 1.0, while the ideal range for mutation probability is confirmed at a range between 0.4 to 1.0. In addition, the algorithm's uniform performance within these parametric ranges is presented.
Experiments are conducted on a Windows 10 computer with an Intel Core i7-8750H CPU, clocked at 2.50 GHz, and 16.00 GB of RAM, using Python programming language version 3.9. The performance of the genetic algorithm is analyzed by manipulating the crossover and mutation probabilities, ranging from 0.4 to 1.0 and 0.0001 to 1.0, respectively [28]. Based on 20 independent genetic algorithm trials, the algorithm's effectiveness is assessed by averaging the makespan. The results of the study concluded that higher probabilities of crossover and mutation result in more optimal solutions. As shown in Figure 9, the optimal range of crossover probability is determined to be between 0.8 and 1.0, while the ideal range for mutation probability is confirmed at a range between 0.4 to 1.0. In addition, the algorithm's uniform performance within these parametric ranges is presented. Figure 9. The performance of GA under different probabilities of crossover and mutation.

Comparative Experiment
The comparative experiment utilizes the collection of 82 test problems suggested by Ulusoy and Bilge. These problems consist of four workshop layouts and 10 production tasks and are divided into two groups according to the proportion of transportation time and processing time. For 40 cases with t/p > 0.25 and 42 cases with t/p < 0.25, t represents the transportation time between different processing machines, and p represents the time of operation. When t/p > 0.25, AGV transportation time takes up a large proportion. The purpose is to verify the algorithm's searching ability for integrated scheduling and path planning. When t/p < 0.25, problem number mantissa 0 means that all processing time is doubled, and mantissa 1 means that all processing time is multiplied by three. At the same time, the path in the map is halved to reduce the influence factors of path planning in the problem. In order to ensure the consistency of data comparison, this paper also adopts the same path planning strategy, AGV number, and process constraints. Experiments use the same map as the classical example.
The algorithm settings used in this study entail a crossover probability of 0.9, a mutation probability of 0.5, a population size of 100, an elite set size of 10, number of generations set to 100, with a uniform crossover as the crossover operator, swap mutation as the mutation operator, roulette wheel as the selection scheme, and 20 genetic algorithm (GA) runs. Results are shown in the proposed algorithm in Tables 4 and 5. The LB value is the theoretical optimal value obtained by the lower limit method proposed by Ulusoy. The STW value is the optimal value obtained by the sliding time window heuristic proposed by Bilge. The UGA value is the optimal value obtained by the genetic algorithm proposed by Ulusoy. The improvement value is defined as the discrepancy between the optimal outcomes achieved by the UGA and those achieved by the proposed algorithm.   In general, the proposed algorithm is in good agreement with the LB value obtained by the lower limit method proposed by Ulusoy. In comparison with the STW heuristic, the proposed algorithm outperforms it in all problems examined, while the UGA underperforms in six cases. Moreover, the proposed algorithm delivers better solutions for twenty-one problems having t/p ratios exceeding 0.25, surpassing the UGA's improved solutions in only four. However, for the problems with t/p ratios below 0.25, the UGA outperforms the proposed GA in six issues, while the proposed GA can only achieve for three issues.
Abdelmaguid [29] has invalidated the UGA's results for seven problems, namely EX81, EX82, EX83, EX810, EX820, EX830, and EX840, where the STW used the best methods. If the results generated by the UGA are ignored, it becomes evident that the proposed algorithm outperforms the UGA by a significant margin. Specifically, the proposed algorithm obtains improved solutions for twenty-four problems, while the UGA is only better in three problems.

Case Verification
We solve the case presented in Section 2.1 to verify both the efficacy and feasibility of the proposed algorithm with regard to addressing path conflicts. The white rectangular in Figure 10 represents the AGVs' deadheading trips. The various colors correspond to different workpieces: red represents J1, blue represents J2, yellow represents J3, orange represents J4, and green represents J5. Figure 10 illustrates that the makespan for production scheduling is 110 s. In general, the proposed algorithm is in good agreement with the LB value obtained by the lower limit method proposed by Ulusoy. In comparison with the STW heuristic, the proposed algorithm outperforms it in all problems examined, while the UGA underperforms in six cases. Moreover, the proposed algorithm delivers better solutions for twenty-one problems having / ratios exceeding 0.25, surpassing the UGA's improved solutions in only four. However, for the problems with / ratios below 0.25, the UGA outperforms the proposed GA in six issues, while the proposed GA can only achieve for three issues.
Abdelmaguid [29] has invalidated the UGA's results for seven problems, namely EX81, EX82, EX83, EX810, EX820, EX830, and EX840, where the STW used the best methods. If the results generated by the UGA are ignored, it becomes evident that the proposed algorithm outperforms the UGA by a significant margin. Specifically, the proposed algorithm obtains improved solutions for twenty-four problems, while the UGA is only better in three problems.

Case Verification
We solve the case presented in Section 2.1 to verify both the efficacy and feasibility of the proposed algorithm with regard to addressing path conflicts. The white rectangular in Figure 10 represents the AGVs' deadheading trips. The various colors correspond to different workpieces: red represents J1, blue represents J2, yellow represents J3, orange represents J4, and green represents J5. Figure 10 illustrates that the makespan for production scheduling is 110 s. Figure 10. Gantt chart of production scheduling. Figure 10. Gantt chart of production scheduling. Figure 11 illustrates the time window without considering path conflicts, where the red color represents AGV1, blue color represents AGV2, and green color represents AGV3. AGV1, AGV2, and AGV3 depart from node 4 at the same time, so we have to let them pass in order of priority. As is shown in Figure 12a, the route of AGV2 from 7 s to 14 s is "10-15-14-9-14-15-10", which is the same as that of AGV3, so AGV3 cannot pass. According to the scheme, AGV3 will go to node 19 from node 15 and wait until AGV2 leaves node 15. Figure 12b illustrates another conflict at 47 s. AGV2 and AGV3 need to go to M1, so AGV3 will have to stay at node 22 until AGV2 leaves node 21.  Figure 11 illustrates the time window without considering path conflicts, where the red color represents AGV1, blue color represents AGV2, and green color represents AGV3. AGV1, AGV2, and AGV3 depart from node 4 at the same time, so we have to let them pass in order of priority. As is shown in Figure 12a, the route of AGV2 from 7 s to 14 s is "10-15-14-9-14-15-10", which is the same as that of AGV3, so AGV3 cannot pass. According to the scheme, AGV3 will go to node 19 from node 15 and wait until AGV2 leaves node 15. Figure 12b illustrates another conflict at 47 s. AGV2 and AGV3 need to go to M1, so AGV3 will have to stay at node 22 until AGV2 leaves node 21.    Figure 11 illustrates the time window without considering path conflicts, where the red color represents AGV1, blue color represents AGV2, and green color represents AGV3. AGV1, AGV2, and AGV3 depart from node 4 at the same time, so we have to let them pass in order of priority. As is shown in Figure 12a, the route of AGV2 from 7 s to 14 s is "10-15-14-9-14-15-10", which is the same as that of AGV3, so AGV3 cannot pass. According to the scheme, AGV3 will go to node 19 from node 15 and wait until AGV2 leaves node 15. Figure 12b illustrates another conflict at 47 s. AGV2 and AGV3 need to go to M1, so AGV3 will have to stay at node 22 until AGV2 leaves node 21.

Conclusions
This study addresses the integrated scheduling problem of flexible job-shops that considers CFRP, with the objective of minimizing the maximum makespan. The study develops a hybrid genetic algorithm for production scheduling, with the optimal range of crossover and mutation probabilities identified as 0.8-1.0 and 0.4-1.0, respectively. Two comparative experiments demonstrate the superior efficiency of the proposed GA over the STW and the UGA. The study implements AGV-encoding as a basis for a genetic algorithm that tackles the problem of scheduling AGVs. Conflict resolution strategies are presented, and a time window-based Dijkstra's algorithm is employed to identify the shortest conflict-free route, facilitating efficient planning rooted in production scheduling. The study verifies the feasibility of the proposed approach by applying it to a real case.

Conclusions
This study addresses the integrated scheduling problem of flexible job-shops that considers CFRP, with the objective of minimizing the maximum makespan. The study develops a hybrid genetic algorithm for production scheduling, with the optimal range of crossover and mutation probabilities identified as 0.8-1.0 and 0.4-1.0, respectively. Two comparative experiments demonstrate the superior efficiency of the proposed GA over the STW and the UGA. The study implements AGV-encoding as a basis for a genetic algorithm that tackles the problem of scheduling AGVs. Conflict resolution strategies are presented, and a time window-based Dijkstra's algorithm is employed to identify the shortest conflict-free route, facilitating efficient planning rooted in production scheduling. The study verifies the feasibility of the proposed approach by applying it to a real case.

Conclusions
This study addresses the integrated scheduling problem of flexible job-shops that considers CFRP, with the objective of minimizing the maximum makespan. The study develops a hybrid genetic algorithm for production scheduling, with the optimal range of crossover and mutation probabilities identified as 0.8-1.0 and 0.4-1.0, respectively. Two comparative experiments demonstrate the superior efficiency of the proposed GA over the STW and the UGA. The study implements AGV-encoding as a basis for a genetic algorithm that tackles the problem of scheduling AGVs. Conflict resolution strategies are presented, and a time window-based Dijkstra's algorithm is employed to identify the shortest conflict-free route, facilitating efficient planning rooted in production scheduling. The study verifies the feasibility of the proposed approach by applying it to a real case. Future research will investigate the impact of equipment maintenance and breakdowns on production scheduling and explore the use of advanced algorithms to enhance its efficiency.